package binary_tree.LeetCode;
// class TreeNode {
//      int val;
//      TreeNode left;
//      TreeNode right;
//      TreeNode() {}
//      TreeNode(int val) { this.val = val; }
//      TreeNode(int val, TreeNode left, TreeNode right) {
//          this.val = val;
//          this.left = left;
//          this.right = right;
//      }
//  }

public class Num101 {
    public boolean isSymmetric(TreeNode root) {
    if(root==null){
        return true;
    }
    if(root.left==null&&root.right==null){
        return  true;
    }
    return Mirror(root.left,root.right);
    }
    public boolean Mirror(TreeNode p,TreeNode q){
        if(p==null&&q==null){
            return  true;
        }
        if(p==null||q==null){
            return false;
        }
        if(p.val!=q.val){
            return false;
        }
        return Mirror(p.left,q.right)&&Mirror(p.right,q.left);
    }
    }

